import VeeValidate from "vee-validate";
//引入VeeValidate的中文包
import zh_CN from "vee-validate/dist/locale/zh_CN";
export default function (Vue) {
  Vue.use(VeeValidate);
  //对VeeValidate配置(必须写在use之后)
  VeeValidate.Validator.localize("zh_CN", {
    //message对象就是对提示信息的一个配置对象
    messages: {
      //首先展开一个中文包中因为的所有的配置信息
      ...zh_CN.messages,
      regex: (m) => `${m}的值不符合我定义的正则`,
      is: (m) => `${m}的值必须和密码一致`,
    },
    // 对字段进行中文名的配置
    attributes: {
      phone: "手机号",
      code: "验证码",
      password: "密码",
      passAgain: "确认密码",
      agree: "协议",
    },
  });

  //配置一个新的规则
  VeeValidate.Validator.extend("agree", {
    //使用validate参数是一个函数,接受当前校验的值,如果通过则返回true 否则返回false
    validate: (value) => {
      //因为这个agree规则是写在input的多选框单个使用的表单上,所以值是一个布尔值,我们希望这个布尔值是true才能通过
      /* if(value===true){
      return true
    }else{
      return false
    } */
      return value;
    },
    //使用getMessage配置项 配置提示信息,接受的参数是当前的字段名
    getMessage: (m) => {
      return `${m}必须同意`;
    },
  });
}
